Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiplatform support #41

Merged
merged 21 commits into from
Mar 3, 2020

Conversation

hlysunnaram
Copy link
Contributor

@hlysunnaram hlysunnaram commented Aug 23, 2018

This PR should fix #36, fix #32 and fix #33

  • add support for OS X and Windows platforms
  • run unit tests in CI builds
  • use Travis for Mac OSX testing: test with XCode 8.3 and 9.4
  • use AppVeyor for Windows testing: test with Visual Studio 2017
  • improve Linux testing: test with GCC 5, 6, 7 and clang 4, 5, 6 (libc++ and stdlibc++) on Ubuntu 14.04
  • improve Travis pipeline: deploy docker images and doc only if test stage succeeds
  • test find_package(SIRIUS MODULE) and find_package(SIRIUS CONFIG) helpers
  • improve CMake scripts
  • export libsirius and libsirius-static targets
  • update internal dependencies (catch2, cxxopts, gsl, spdlog)
  • refactor resampling and stream API

Note concerning AppVeyor: vcpkg is used to install FFTW3 and GDAL dependencies.
Given that the build of those dependencies takes a long time (~50min for GDAL and ~3min for FFTW), one build is needed to only generate the cache containing the dependencies. Once the cache is generated, next AppVeyor builds will actually build project and run its tests.
To update the dependencies, delete the cache with AppVeyor REST API and run a new build.

Herve Ly-Sunnaram added 3 commits August 23, 2018 12:00
* test OSX build with XCode 8.3 and 9.4
* test Linux build with GCC5, GCC6 and GCC7 on Ubuntu 14.04
* deploy (doc, docker image) only if tests succeeded
* use vcpkg to build fftw3 and gdal dependencies
* test build with Visual Studio 2017 Win64
@hlysunnaram hlysunnaram added this to the 0.2 milestone Aug 23, 2018
Herve Ly-Sunnaram added 4 commits August 28, 2018 15:40
* test Linux build with Clang 4, Clang 5 and Clang 6
* test Clang build using stdlibc++ and libc++
* use VERSION option in CMake project function
* use object library to create sirius shared and static libraries
* fix Windows warnings
* catch2: 2.2.3 -> 2.3.0
* cxxopts: 2.1.0 -> 2.1.1
* gsl: 1.0.0 -> 2.0.0
* spdlog: 0.17.0 -> 1.1.0
configuration definitions:
* SIRIUS_ENABLE_LOGS
* SIRIUS_ENABLE_CACHE_OPTIMIZATION
* GSL_TERMINATE_ON_CONTRACT_VIOLATION
* GSL_UNENFORCED_ON_CONTRACT_VIOLATION
@rkanavath
Copy link

it would be nice to merge this before merging python bindings. for the moment, i copy paste some fixes locally to make build going.

Herve Ly-Sunnaram added 3 commits September 5, 2018 10:39
…CMake option to BUILD_TESTING

* test on appveyor
* test on travis (linux - GCC and Clang)
* move runtime artifacts into bin directory (executable, dll)
* move library and archive artifacts into lib directory (so, a, lib)
* update FindSIRIUS.cmake
@hlysunnaram hlysunnaram mentioned this pull request Sep 6, 2018
enable find_package(SIRIUS CONFIG) with SIRIUS_DIR CMake variable set to /path/INSTALL_DIR/share/cmake
@hlysunnaram hlysunnaram force-pushed the feature/multiplatform-support branch from c2a1773 to ec466a3 Compare September 10, 2018 09:29
Herve Ly-Sunnaram added 10 commits September 11, 2018 11:26
* add debug postfix (d) to libsirius and libsirius-static binary filenames
* rename libsirius-static binary file to libsirius.a (Linux and OS X) or libsirius_s.lib (Windows)
* group targets by folders (bin, lib, test)
* improve test targets
* generic stream transformation
* update resampling API
* generic image decomposition

(cherry picked from commit 73fb7c6)
* set sirius verbosity level with `-V` option at runtime
@sdinot sdinot changed the base branch from master to develop March 3, 2020 13:41
@tfeuvrier-cs tfeuvrier-cs merged commit 58f9e68 into CS-SI:develop Mar 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve CI to run tests Support MacOSX Support Windows
3 participants